package objetos;

import org.jdom.*;

/*
 * Clase que modela la energ�a de una aeronave. Provee m�todos para 
 * recuperla/disminuirla y saber si est� completa.
 */
public class Energia {
	private int cantidad;
	private int maximo;

	public Energia(int cantidad) {
		this.cantidad = cantidad;
		this.maximo = cantidad;
	}

	public void disminuirEnergia(int cantidad) {
		this.cantidad -= cantidad;
		if (this.cantidad < 0) {
			this.cantidad = 0;
		}
	}

	public void aumentarEnergia(int cantidad) {
		this.cantidad += cantidad;
		if (this.cantidad > maximo) {
			this.cantidad = maximo;
		}
	}

	public boolean estaCompleta() {
		return this.cantidad == this.maximo;
	}

	public int getCantidad() {
		return cantidad;
	}

	public void setCantidad(int cantidad) {
		this.cantidad = cantidad;
	}

	/* Persistencia */

	/* Instancia a partir de NodoXML */
	public Energia(Element nodo) {
		this(Integer.parseInt(nodo.getAttributeValue("cantidad")));
	}

	/* NodoXML a partir de instancia */
	public Element obtenerNodo() {
		Element nodo = new Element("energia");
		nodo.setAttribute(new Attribute("cantidad", Integer.toString(this
				.getCantidad())));
		return nodo;
	}

}
